package com.agent.action.service;

import com.agent.action.entity.AgentMessageHistoryEntity;
import com.agent.action.param.ChatParam;
import com.agent.action.param.PauseParam;
import com.agent.action.vo.ChatHistoryVO;
import com.agent.action.vo.ChatVO;
import com.agent.commons.other.MessageHistory;
import reactor.core.publisher.Flux;

import java.util.List;

public interface AgentService {
    /**
     * 智能体交互
     * @param chatParam
     * @return
     */
    public Flux<ChatVO> chat(ChatParam chatParam, MessageHistory messageHistory);

    /**
     * 获取会话消息历史
     * @param message
     */
    public List<ChatHistoryVO> getMessageHistory(AgentMessageHistoryEntity message);

    /**
     * 暂停智能体响应
     * @param pauseParam
     * @return
     */
    public void pause(PauseParam pauseParam);

}
